package com.myh.cc.base

import com.myh.cc.network.RequestCallBack
import com.myh.cc.network.request.HttpRequestImpl
import io.reactivex.Observer
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.disposables.Disposable
import io.reactivex.schedulers.Schedulers

/**
 * 类描述    ：
 * 创建人    ：  mayahao.
 * 创建时间   ：  2018/1/2.
 * 修改人    ：
 * 修改时间   ：
 * 修改备注   ：
 */
open  class BaseNetControl : IBaseControl{

    lateinit var disposable: Disposable

    /**
     * 取消 disposable
     * 关闭 Activity 或 Fragment 的时候 执行
     */
    override fun disposableCancel() {
//       if (disposable != null)
//       {
//           disposable.dispose()
//       }
    }

    fun postDataMap(callBack: RequestCallBack,header: String,map: Map<String,String>,tag: Int){

        HttpRequestImpl.httpRequest.getWeather(header,map)
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(object : Observer<CityInfo> {


                    override fun onSubscribe(d: Disposable) {
                        disposable = d
                    }

                    override fun onNext(value: CityInfo) {
                        callBack.success(value, tag)
                    }

                    override fun onError(e: Throwable) {
                        callBack.error(e.toString(),tag)
                    }

                    override fun onComplete() {

                    }
                })

    }



}